AT-NFC  2.1 (win)
AT-NFC kernel set
Macros | Typedefs | Functions
Entry Point interface

Entry Point interface definition. More...

Macros

#define NAME_FUNC_T_NFC_EP_INIT   "t_nfc_epInit"
 
#define NAME_FUNC_T_NFC_EP_DEINIT   "t_nfc_epDeinit"
 
#define NAME_FUNC_T_NFC_EP_VERSION   "t_nfc_epVersion"
 
#define NAME_FUNC_T_NFC_EP_CHECKSUM   "t_nfc_epChecksum"
 
#define NAME_FUNC_T_NFC_EP_REGISTERCALLBACK   "t_nfc_epRegisterCallback"
 
#define NAME_FUNC_T_NFC_EP_PREP_NEW_TRAN   "t_nfc_epPrepareNewTran"
 
#define NAME_FUNC_T_NFC_EP_NEW_TRAN   "t_nfc_epNewTran"
 
#define NAME_FUNC_T_NFC_EP_TRAN_RESTART   "t_nfc_epTranRestart"
 
#define NAME_FUNC_T_NFC_EP_TRAN_RELEASE   "t_nfc_epTranRelease"
 
#define NAME_FUNC_T_NFC_EP_GET_DATA   "t_nfc_epGetData"
 
#define NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG   "t_nfc_epGetDataByTag"
 
#define NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST   "t_nfc_epGetDataByTagList"
 
#define NAME_FUNC_T_NFC_EP_INIT_EX   "t_nfc_epInitEx"
 

Typedefs

typedef KER_BOOL(KER_API * T_NFC_CALLBACK_CANCEL_TRAN) (KER_VOID *pCallbackHandle)
 Async check for cancel card polling from outside. More...
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_INIT) (KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_DEINIT) (T_NFC_EP_HANDLE pHandle)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_VERSION) (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_CHAR *pchVerInfo, KER_INT16U *pusVerInfoLen)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_CHECKSUM) (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_BYTE btCheckSumType, KER_BYTE *pbtCheckSum, KER_INT16U *pusCheckSumSize)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_REGISTERCALLBACK) (T_NFC_EP_HANDLE pHandle, KER_INT16U usCllbackID, KER_VOID *pCallback)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_PREP_NEW_TRAN) (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_TRAN_DATA *pTermTranData, const NFC_OUTCOME **ppOutcome)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_NEW_TRAN) (T_NFC_EP_HANDLE pHandle, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_TRAN_RESTART) (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_RESTART_DATA *pTermRestartData, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_TRAN_RELEASE) (T_NFC_EP_HANDLE pHandle)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_GET_DATA) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, KER_BYTE *pbtData, KER_INT16U *pusDataLen)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_GET_DATA_BY_TAG) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTag, KER_BYTE btTagSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTagList, KER_INT16U usTagListSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
 
typedef KER_RES(KER_API * FUNC_T_NFC_EP_INIT_EX) (KER_VOID *pCallbackHandle, T_NFC_CALLBACKS *pCallbacks, KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)
 

Functions

T_NFC_EP_MODE KER_RES KER_API t_nfc_epInit (KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)
 Entry Point Initialization. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epDeinit (T_NFC_EP_HANDLE pHandle)
 Entry Point De-Initialization. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epVersion (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_CHAR *pchVerInfo, KER_INT16U *pusVerInfoLen)
 Entry Point version information. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epChecksum (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_BYTE btCheckSumType, KER_BYTE *pbtCheckSum, KER_INT16U *pusCheckSumSize)
 Kernel checksum calculation. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epRegisterCallback (T_NFC_EP_HANDLE pHandle, KER_INT16U usCllbackID, KER_VOID *pCallback)
 Kernel callback registration. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epPrepareNewTran (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_TRAN_DATA *pTermTranData, const NFC_OUTCOME **ppOutcome)
 Prepares new transaction. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epNewTran (T_NFC_EP_HANDLE pHandle, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)
 Initiates new transaction. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epTranRestart (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_RESTART_DATA *pTermRestartData, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)
 Restarts transaction for issuer update, cv-cvm confirmation, etc... More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epTranRelease (T_NFC_EP_HANDLE pHandle)
 Releases transaction context. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetData (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, KER_BYTE *pbtData, KER_INT16U *pusDataLen)
 Entry Point transaction data request. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetDataByTag (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTag, KER_BYTE btTagSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
 Entry Point transaction data request. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetDataByTagList (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTagList, KER_INT16U usTagListSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
 Entry Point transaction data request. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetDataByID (T_NFC_EP_HANDLE pHandle, KER_INT16U usID, KER_BYTE *pbtData, KER_INT16U *pusDataSize)
 Obtain emv data by ID. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetCustomTagByID (T_NFC_EP_HANDLE pHandle, KER_INT16U usID, KER_BYTE *pbtCustomTag, KER_INT16U *pusCustomTagSize)
 Obtain custum tag by ID. More...
 
T_NFC_EP_MODE KER_RES KER_API t_nfc_epInitEx (KER_VOID *pCallbackHandle, T_NFC_CALLBACKS *pCallbacks, KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)
 Entry Point Initialization. More...
 

Detailed Description

Entry Point interface definition.

Macro Definition Documentation

◆ NAME_FUNC_T_NFC_EP_CHECKSUM

#define NAME_FUNC_T_NFC_EP_CHECKSUM   "t_nfc_epChecksum"

\ ( )

◆ NAME_FUNC_T_NFC_EP_DEINIT

#define NAME_FUNC_T_NFC_EP_DEINIT   "t_nfc_epDeinit"

\ ( )

◆ NAME_FUNC_T_NFC_EP_GET_DATA

#define NAME_FUNC_T_NFC_EP_GET_DATA   "t_nfc_epGetData"

\ ( )

◆ NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG

#define NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG   "t_nfc_epGetDataByTag"

\ ( )

◆ NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST

#define NAME_FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST   "t_nfc_epGetDataByTagList"

\ ( )

◆ NAME_FUNC_T_NFC_EP_INIT

#define NAME_FUNC_T_NFC_EP_INIT   "t_nfc_epInit"

\ ( )

◆ NAME_FUNC_T_NFC_EP_INIT_EX

#define NAME_FUNC_T_NFC_EP_INIT_EX   "t_nfc_epInitEx"

\ ( )

◆ NAME_FUNC_T_NFC_EP_NEW_TRAN

#define NAME_FUNC_T_NFC_EP_NEW_TRAN   "t_nfc_epNewTran"

\ ( )

◆ NAME_FUNC_T_NFC_EP_PREP_NEW_TRAN

#define NAME_FUNC_T_NFC_EP_PREP_NEW_TRAN   "t_nfc_epPrepareNewTran"

\ ( )

◆ NAME_FUNC_T_NFC_EP_REGISTERCALLBACK

#define NAME_FUNC_T_NFC_EP_REGISTERCALLBACK   "t_nfc_epRegisterCallback"

\ ( )

◆ NAME_FUNC_T_NFC_EP_TRAN_RELEASE

#define NAME_FUNC_T_NFC_EP_TRAN_RELEASE   "t_nfc_epTranRelease"

\ ( )

◆ NAME_FUNC_T_NFC_EP_TRAN_RESTART

#define NAME_FUNC_T_NFC_EP_TRAN_RESTART   "t_nfc_epTranRestart"

\ ( )

◆ NAME_FUNC_T_NFC_EP_VERSION

#define NAME_FUNC_T_NFC_EP_VERSION   "t_nfc_epVersion"

\ ( )

Typedef Documentation

◆ FUNC_T_NFC_EP_CHECKSUM

typedef KER_RES(KER_API * FUNC_T_NFC_EP_CHECKSUM) (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_BYTE btCheckSumType, KER_BYTE *pbtCheckSum, KER_INT16U *pusCheckSumSize)

\ ( )

◆ FUNC_T_NFC_EP_DEINIT

typedef KER_RES(KER_API * FUNC_T_NFC_EP_DEINIT) (T_NFC_EP_HANDLE pHandle)

\ ( )

◆ FUNC_T_NFC_EP_GET_DATA

typedef KER_RES(KER_API * FUNC_T_NFC_EP_GET_DATA) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, KER_BYTE *pbtData, KER_INT16U *pusDataLen)

\ ( )

◆ FUNC_T_NFC_EP_GET_DATA_BY_TAG

typedef KER_RES(KER_API * FUNC_T_NFC_EP_GET_DATA_BY_TAG) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTag, KER_BYTE btTagSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)

\ ( )

◆ FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST

typedef KER_RES(KER_API * FUNC_T_NFC_EP_GET_DATA_BY_TAG_LIST) (T_NFC_EP_HANDLE pHandle, KER_INT16U usOptions, const KER_BYTE *pbtTagList, KER_INT16U usTagListSize, KER_BYTE *pbtData, KER_INT16U *pusDataSize)

\ ( )

◆ FUNC_T_NFC_EP_INIT

typedef KER_RES(KER_API * FUNC_T_NFC_EP_INIT) (KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)

\ ( )

◆ FUNC_T_NFC_EP_INIT_EX

typedef KER_RES(KER_API * FUNC_T_NFC_EP_INIT_EX) (KER_VOID *pCallbackHandle, T_NFC_CALLBACKS *pCallbacks, KER_VOID *pConfigID, KER_INT16U usConfigIDLen, T_NFC_EP_HANDLE *ppHandle)

\ ( )

◆ FUNC_T_NFC_EP_NEW_TRAN

typedef KER_RES(KER_API * FUNC_T_NFC_EP_NEW_TRAN) (T_NFC_EP_HANDLE pHandle, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)

\ ( )

◆ FUNC_T_NFC_EP_PREP_NEW_TRAN

typedef KER_RES(KER_API * FUNC_T_NFC_EP_PREP_NEW_TRAN) (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_TRAN_DATA *pTermTranData, const NFC_OUTCOME **ppOutcome)

\ ( )

◆ FUNC_T_NFC_EP_REGISTERCALLBACK

typedef KER_RES(KER_API * FUNC_T_NFC_EP_REGISTERCALLBACK) (T_NFC_EP_HANDLE pHandle, KER_INT16U usCllbackID, KER_VOID *pCallback)

\ ( )

◆ FUNC_T_NFC_EP_TRAN_RELEASE

typedef KER_RES(KER_API * FUNC_T_NFC_EP_TRAN_RELEASE) (T_NFC_EP_HANDLE pHandle)

\ ( )

◆ FUNC_T_NFC_EP_TRAN_RESTART

typedef KER_RES(KER_API * FUNC_T_NFC_EP_TRAN_RESTART) (T_NFC_EP_HANDLE pHandle, const NFC_EXT_TERM_RESTART_DATA *pTermRestartData, KER_INT32U ulTimeout, KER_INT16U usExtCardTypes, T_NFC_CALLBACK_CANCEL_TRAN fCancelCallback, KER_VOID *pCancelCallbackHandle, KER_INT16U *pusCardType, KER_BYTE *pbtUID, KER_INT16U *pusUIDLen, const NFC_OUTCOME **ppOutcome)

\ ( )

◆ FUNC_T_NFC_EP_VERSION

typedef KER_RES(KER_API * FUNC_T_NFC_EP_VERSION) (T_NFC_EP_HANDLE pHandle, const KER_BYTE *pbtKerID, KER_BYTE btKerIDLen, KER_CHAR *pchVerInfo, KER_INT16U *pusVerInfoLen)

\ ( )

◆ T_NFC_CALLBACK_CANCEL_TRAN

typedef KER_BOOL(KER_API * T_NFC_CALLBACK_CANCEL_TRAN) (KER_VOID *pCallbackHandle)

Async check for cancel card polling from outside.

Parameters
[in]pCallbackHandle- handle,set with callback from outside
Returns
KER_TRUE Transaction cancellation requested.
KER_FALSE Continue transaction.

This function is used to terminate card polling loop from outside

Function Documentation

◆ t_nfc_epChecksum()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epChecksum ( T_NFC_EP_HANDLE  pHandle,
const KER_BYTE pbtKerID,
KER_BYTE  btKerIDLen,
KER_BYTE  btCheckSumType,
KER_BYTE pbtCheckSum,
KER_INT16U pusCheckSumSize 
)

Kernel checksum calculation.

EP should call this function to calculate Kernel checksum.

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]pbtKerID- Kernel ID (set KER_NULL if Entry Point checksum requested)
[in]btKerIDLen- Kernel ID length (set 0 if Entry Point checksum requested)
[in]btCheckSumType- type of checksum requested (T_NFC_CHECKSUM_KERNEL - kernel checksum; T_NFC_CHECKSUM_CONFIG - configuration checksum)
[out]pbtCheckSum- buffer to obtain checksum from the kernel with provided KernelID (or Entry Point checksum if KernelID not provided)
[in,out]pusCheckSumSize- pbtCheckSum buffer size as input, output containes result data length
Returns
T_NFC_EP_OK - Success
Other - Failure...

◆ t_nfc_epDeinit()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epDeinit ( T_NFC_EP_HANDLE  pHandle)

Entry Point De-Initialization.

App should call this function to release Entry Point resources

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
Returns
T_NFC_EP_OK - Success
Other - Failure...

◆ t_nfc_epGetCustomTagByID()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetCustomTagByID ( T_NFC_EP_HANDLE  pHandle,
KER_INT16U  usID,
KER_BYTE pbtCustomTag,
KER_INT16U pusCustomTagSize 
)

Obtain custum tag by ID.

Terminal should call this function to obtain kernel custom tag by ID. Custom tag may be used to define configuration data which has no standard tag assined...

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]usID- requested data ID
[out]pbtCustomTag- buffer to obtain Custom tag for provided ID value
[in,out]pusCustomTagSize- pbtCustomTag buffer size as input, output containes result data length
Returns
T_NFC_EP_OK - Success, custom tag provided
T_NFC_EP_INF_NO_DATA - Custom tag not assigned for provided ID
Other - Failure...

◆ t_nfc_epGetData()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetData ( T_NFC_EP_HANDLE  pHandle,
KER_INT16U  usOptions,
KER_BYTE pbtData,
KER_INT16U pusDataLen 
)

Entry Point transaction data request.

App should call this function to obtain transaction data from Entry Point

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]usOptions- get options (bitmask), reserved
[out]pbtData- Buffer to obtain transaction data (in TLV) (path KER_NULL if you need to calculate tran data length only)
[in,out]pusDataLen- Size of Buffer pbtData as input, data length as output
Returns
T_NFC_EP_OK - Success
Other - Failure...

◆ t_nfc_epGetDataByID()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetDataByID ( T_NFC_EP_HANDLE  pHandle,
KER_INT16U  usID,
KER_BYTE pbtData,
KER_INT16U pusDataSize 
)

Obtain emv data by ID.

Terminal should call this function to obtain kernel nfc data by ID

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]usID- requested data ID (see t_nfc_ep_data_id.h)
[out]pbtData- buffer to obtain provided ID value
[in,out]pusDataSize- pbtData buffer size as input, output containes result data length
Returns
T_NFC_EP_OK - Success, requested data provided
T_NFC_EP_INF_NO_DATA - Data not found
Other - Failure...

◆ t_nfc_epGetDataByTag()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetDataByTag ( T_NFC_EP_HANDLE  pHandle,
KER_INT16U  usOptions,
const KER_BYTE pbtTag,
KER_BYTE  btTagSize,
KER_BYTE pbtData,
KER_INT16U pusDataSize 
)

Entry Point transaction data request.

EP should call this function to obtain transaction data by tag from kernel

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]usOptions- get options (bitmask), reserved
[in]pbtTag- buffer with tag value
[in]btTagSize- pbtTag value length
[out]pbtData- buffer to obtain provided tag value
[in,out]pusDataSize- pbtData buffer size as input, output containes result data length
Returns
T_NFC_EP_OK - Success
T_NFC_EP_INF_NO_DATA - Tag not found
Other - Failure...

◆ t_nfc_epGetDataByTagList()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epGetDataByTagList ( T_NFC_EP_HANDLE  pHandle,
KER_INT16U  usOptions,
const KER_BYTE pbtTagList,
KER_INT16U  usTagListSize,
KER_BYTE pbtData,
KER_INT16U pusDataSize 
)

Entry Point transaction data request.

App should call this function to obtain transaction data by tag list from Entry Point

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]usOptions- get options (bitmask), reserved
[in]pbtTagList- buffer with tag list
[in]usTagListSize- pbtTagList value length
[out]pbtData- buffer to obtain provided tag list in TLV format
[in,out]pusDataSize- pbtData buffer size as input, output containes result data length
Returns
T_NFC_EP_OK - Success
Other - Failure...

◆ t_nfc_epInit()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epInit ( KER_VOID pConfigID,
KER_INT16U  usConfigIDLen,
T_NFC_EP_HANDLE *  ppHandle 
)

Entry Point Initialization.

App should call this function to initialize Entry Point

Parameters
[in]pConfigID- kernel configuration ID (file name in ascii)
[in]usConfigIDLen- length of pConfigID
[out]ppHandle- initialized handle
Returns
T_NFC_EP_OK Success.
Other - Failure
Warning
Obtained Entry Point handle should be released by t_nfc_epDeinit

◆ t_nfc_epInitEx()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epInitEx ( KER_VOID pCallbackHandle,
T_NFC_CALLBACKS pCallbacks,
KER_VOID pConfigID,
KER_INT16U  usConfigIDLen,
T_NFC_EP_HANDLE *  ppHandle 
)

Entry Point Initialization.

App should call this function to initialize Entry Point

Parameters
[in]pCallbackHandle- handle to be passed to callbacks
[in]pCallbacks- structure with the set of callbacks to hardware access
[in]pConfigID- kernel configuration ID (file name in ascii)
[in]usConfigIDLen- length of pConfigID
[out]ppHandle- initialized handle
Returns
T_NFC_EP_OK Success.
Other - Failure
Warning
Obtained Entry Point handle should be released by t_nfc_epDeinit

◆ t_nfc_epNewTran()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epNewTran ( T_NFC_EP_HANDLE  pHandle,
KER_INT32U  ulTimeout,
KER_INT16U  usExtCardTypes,
T_NFC_CALLBACK_CANCEL_TRAN  fCancelCallback,
KER_VOID pCancelCallbackHandle,
KER_INT16U pusCardType,
KER_BYTE pbtUID,
KER_INT16U pusUIDLen,
const NFC_OUTCOME **  ppOutcome 
)

Initiates new transaction.

This function makes nfc transaction, sarting from polling request

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]ulTimeout- card polling timeout in ms (4 days max) (use 0 for single polling request)
[in]usExtCardTypesCard types for external processing bitmask (set KER_NFCL1_PHISICAL_CARD_TYPE_NONE to process all cards by EP),
[in]fCancelCallback- callback to check for cancel card polling from outside (Optional, set KER_NULL if you don't need it),
[in]pCancelCallbackHandle- handle to pass to fCancelCallback (optional, set KER_NULL if you don't need it),
[in,out]pusCardTypeCard type polling for bitmask as input (set KER_NFCL1_PHISICAL_CARD_TYPE_DEFAULT to use internal PCD configuration), located card type as output (optional, set KER_NULL for PCD default settings), see KER_NFCL1_PHISICAL_CARD_TYPE_DEFAULT, KER_NFCL1_PHISICAL_CARD_TYPE_NONE, KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_A KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_B KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_A KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_B KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_STD KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_UL KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_AND_MIFARE KER_NFCL1_PHISICAL_CARD_TYPE_UNKNOWN
[out]pbtUID- located card UID (optional, set KER_NULL if you don't need it)
[in,out]pusUIDLen- located card UID length (optional, set KER_NULL if you don't need it)
[out]ppOutcome- pointer to obtain transaction outcome
Returns
T_NFC_EP_INF_OUTCOME See outcome for details.
T_NFC_EP_INF_POLLING_TIMEOUT Card polling timeout.
T_NFC_EP_INF_CANCELLED Card polling cancelled from outside.
T_NFC_EP_INF_EXT_PROCESSING Card located, card type match usExtCardTypes, process it externally
Other errors - abort transaction.
Warning
transaction outcome structure pointer valid till t_nfc_epTranRelease call.
When tranaction context no longer required call t_nfc_epTranRelease.

◆ t_nfc_epPrepareNewTran()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epPrepareNewTran ( T_NFC_EP_HANDLE  pHandle,
const NFC_EXT_TERM_TRAN_DATA pTermTranData,
const NFC_OUTCOME **  ppOutcome 
)

Prepares new transaction.

This function creates transaction context, loads configuration
and initiates EP transaction pre-processing (EMV Book A, 8.1.1.4) Preprocessing peformed only if transaction data provided, otherwise autorun mode assumed

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]pTermTranData- transaction data, obtained from terminal (optional, set KER_NULL for fixed tran data)
[out]ppOutcome- pointer to obtain transaction outcome
Returns
T_NFC_EP_OK Success, call t_nfc_epNewTran for card polling.
T_NFC_EP_INF_OUTCOME (Try another interface) see outcome for details. (no active combinations)
Other errors - abort transaction.
Warning
When tranaction context no longer required call t_nfc_epTranRelease. Do it despite of result code retuned.
transaction outcome structure pointer valid till t_nfc_epTranRelease call.

◆ t_nfc_epRegisterCallback()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epRegisterCallback ( T_NFC_EP_HANDLE  pHandle,
KER_INT16U  usCllbackID,
KER_VOID pCallback 
)

Kernel callback registration.

App should call this function to register cllbacks

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]usCllbackID- callback ID
[in]pCallback- callback function ptr
Returns
T_NFC_EP_OK - Success
Other - Failure...

User callbacks defined in t_nfc_user_clb.h

◆ t_nfc_epTranRelease()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epTranRelease ( T_NFC_EP_HANDLE  pHandle)

Releases transaction context.

This function releases transaction context

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
Returns
T_NFC_EP_OK Success.
Other errors - Failure.
Warning
Call this function when tranaction context no longer required

◆ t_nfc_epTranRestart()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epTranRestart ( T_NFC_EP_HANDLE  pHandle,
const NFC_EXT_TERM_RESTART_DATA pTermRestartData,
KER_INT32U  ulTimeout,
KER_INT16U  usExtCardTypes,
T_NFC_CALLBACK_CANCEL_TRAN  fCancelCallback,
KER_VOID pCancelCallbackHandle,
KER_INT16U pusCardType,
KER_BYTE pbtUID,
KER_INT16U pusUIDLen,
const NFC_OUTCOME **  ppOutcome 
)

Restarts transaction for issuer update, cv-cvm confirmation, etc...

This function restarts nfc transaction, sarting from position, indicated by previous Outcome

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]pTermRestartData- restart data (with issuer update data) (optional, set KER_NULL if no restart data provided)
[in]ulTimeout- card polling timeout in ms (4 days max) (use 0 for single polling request) This param used for processing Outcome with start type B only, otherwise set 0 value
[in]usExtCardTypesCard types for external processing bitmask (set KER_NFCL1_PHISICAL_CARD_TYPE_NONE to process all cards by EP), This param used for processing Outcome with start type B only, otherwise set 0 value
[in]fCancelCallback- callback to check for cancel card polling from outside (Optional, set KER_NULL if you don't need it),
[in]pCancelCallbackHandle- handle to pass to fCancelCallback (optional, set KER_NULL if you don't need it),
[in,out]pusCardTypeCard type polling for bitmask as input (set KER_NFCL1_PHISICAL_CARD_TYPE_DEFAULT to use internal PCD configuration), located card type as output (optional, set KER_NULL for PCD default settings), see KER_NFCL1_PHISICAL_CARD_TYPE_DEFAULT, KER_NFCL1_PHISICAL_CARD_TYPE_NONE, KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_A KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_B KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_A KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_4_B KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_STD KER_NFCL1_PHISICAL_CARD_TYPE_MIFARE_A_UL KER_NFCL1_PHISICAL_CARD_TYPE_ISO14443_AND_MIFARE KER_NFCL1_PHISICAL_CARD_TYPE_UNKNOWN This param used for processing Outcome with start type B only, otherwise set KER_NULL value
[out]pbtUID- located card UID (optional, set KER_NULL if you don't need it) This param used for processing Outcome with start type B only, otherwise set KER_NULL value
[in,out]pusUIDLen- located card UID length (optional, set KER_NULL if you don't need it) This param used for processing Outcome with start type B only, otherwise set KER_NULL value
[out]ppOutcome- pointer to obtain transaction outcome
Returns
T_NFC_EP_INF_OUTCOME See outcome for details.
T_NFC_EP_INF_REMOVAL_TIMEOUT Card removal timeout.
T_NFC_EP_INF_POLLING_TIMEOUT Card polling timeout.
T_NFC_EP_INF_FIELDOFF_TIMEOUT Fieldoff timeout.
T_NFC_EP_INF_CANCELLED Card polling cancelled from outside.
Other errors - abort transaction.
Warning
transaction outcome structure pointer valid till t_nfc_epTranRelease call.
When tranaction context no longer required call t_nfc_epTranRelease.

◆ t_nfc_epVersion()

T_NFC_EP_MODE KER_RES KER_API t_nfc_epVersion ( T_NFC_EP_HANDLE  pHandle,
const KER_BYTE pbtKerID,
KER_BYTE  btKerIDLen,
KER_CHAR pchVerInfo,
KER_INT16U pusVerInfoLen 
)

Entry Point version information.

App should call this function to obtain Kernel version information.

Parameters
[in]pHandle- handle obtained by t_nfc_epInit
[in]pbtKerID- Kernel ID (set KER_NULL if Entry Point version requested)
[in]btKerIDLen- Kernel ID length (set 0 if Entry Point version requested)
[out]pchVerInfo- Buffer to hold the version number of the kernel with provided KernelID (or Entry Point version if KernelID not provided)
[in,out]pusVerInfoLen- Size of pbtVerInfo buffer. This value will be modified to reflect the size of the returned version string.
Returns
T_NFC_EP_OK - Success
Other - Failure...